 
  

 






<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html>

<!-- Mirrored from www.javapractices.com/topic/TopicAction.do;jsessionid=4FCCB481C702D708A7360133D128E359?Id=227 by HTTrack Website Copier/3.x [XR&CO'2010], Sun, 12 Jun 2011 17:27:50 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8"><!-- /Added by HTTrack -->
<head>
 <title>
  Java Practices -> Avoid basic style errors
 </title>
 <link rel="stylesheet" type="text/css" href="../stylesheet8.css" media="all">
 
 <link rel="shortcut icon" href='../images/favicon.ico' type="image/vnd.microsoft.icon">
 <meta name="description" content="Concise presentations of java programming practices, tasks, and conventions, amply illustrated with syntax highlighted code examples.">
 
 <meta name='keywords' content='java,java programming,java practices,java idiom,java style,java design patterns,java coding conventions,'>
 
 
</head>
 
<body>


<div class='menu-bar'>
 
  <a href='../home/HomeAction.html' title='Table of Contents'>Home</a> |
  <a href='../vote/VoteSummaryAction-2.html' title='View Poll Results'>Poll</a> |
   
  <A href='../feedback/FeedbackAction451f-2.html?Operation=Show' title='Send Your Feedback'>Wiki</a> |
  <b><a href='../source/SourceAction-2.html' title='Grab Source Code'>Source Code</a></b><IMG class='no-margin' SRC="../images/goldstar.gif" ALT=""> |

  <a href='http://www.web4j.com/Java_Web_Application_Framework_Overview.jsp?From=1' title='Free Download - Java Web Application Framework'><b>WEB4J</b></a> |
  
  <a href='http://www.date4j.net/' title='Replacement for java.util.Date'><b>DATE4J</b></a> |

   <a href='../references/ReferencesAction-2.html' title='References'>Links</a>
   
  <form action='http://www.javapractices.com/search/SearchAction.do' method='get' class='search-form'>
   <input type='text' name='SearchTerms' value="" size=12 maxlength=50 class='search'>
   <input type='submit' value="Search">
  </form>
 
</div>

<P>



  

 






<p class="display-messages">

 

 

</p>


<div class="main-layout">
 
   

 




<div class='page-title'>Avoid basic style errors</div>

<div class='main-body'>
 
<br>
Many beginners to Java repeat the same basic style errors. 
Such style errors don't make your program incorrect, but they make your program less maintainable. 
In essence, many beginners write code that suffers from the same basic underlying defect of not being written with compassion for the reader.

<P><span class='highlight'>There are in fact two target platforms for all code: the runtime hardware, and the human cerebral cortex.</span> 
All code 'runs' in the human brain, in the sense that all code needs to be understood by a human being. 
Coding style is always concerned with this second target platform, not with the first.

<P>Some common basic style errors :
<ul>
 <li>classes too long
 <li>methods too long
 <li>little or no <a href='TopicActionebc1-2.html?Id=60'>javadoc</a>
 <li>no convention for distinguishing between <a href='TopicActionff16-2.html?Id=58'>local variables, arguments, and fields</a>  
 <li>many <a href='TopicActionc388-2.html?Id=16'>empty catch blocks</a> that suppress exceptions
 <li>inappropriate use of <a href='TopicActione309-2.html?Id=114'>multiple return statements</a>
 <li>using exceptions <a href='TopicAction49be-2.html?Id=19'>to define regular program flow</a> 
 <li>excessive use of the <a href='TopicAction3d83-2.html?Id=31'>instanceof</a> operator
 <li>using <a href='TopicActionb0f5-2.html?Id=213'>floating point data to represent money</a>
 <li>preferring <a href='TopicAction55c9-2.html?Id=39'>arrays over collections</a> (especially in JDK 5+)
 <li>not <a href='TopicAction311e-2.html?Id=136'>ordering class members by scope</a>
</ul>

<P>Some basic style errors are much more damaging to your code than others.
<span class='highlight'>The single most harmful bad habit is that of excessive length.</span>
Classes that are too long are hard to understand. 
As a guideline, if a class is more than about 300 lines long, you should likely consider splitting it up into smaller pieces. 
Similarly, methods that are more than a single screen are very likely too long, and would almost always benefit from being split into several methods.
It's not uncommon for a useful method to consist <a href='TopicActionb2ab-2.html?Id=91'>only of a single line of code</a>.
<br>
<br>

</div>




<div class='topic-section'>See Also :</div>
<div class='main-body'>
 
  
  <a href='TopicActionc388-2.html?Id=16'>Avoid empty catch blocks</a> <br>
 
  
  <a href='TopicAction49be-2.html?Id=19'>Exceptions and control flow</a> <br>
 
  
  <a href='TopicAction3d83-2.html?Id=31'>Beware of instanceof operator</a> <br>
 
  
  <a href='TopicAction55c9-2.html?Id=39'>Prefer Collections over older classes</a> <br>
 
  
  <a href='TopicActionff16-2.html?Id=58'>Naming conventions</a> <br>
 
  
  <a href='TopicActionebc1-2.html?Id=60'>Use javadoc liberally</a> <br>
 
  
  <a href='TopicActionb2ab-2.html?Id=91'>Clarifying method</a> <br>
 
  
  <a href='TopicActione309-2.html?Id=114'>Multiple return statements</a> <br>
 
  
  <a href='TopicAction311e-2.html?Id=136'>Separate public and private members</a> <br>
 
  
  <a href='TopicActionb0f5-2.html?Id=213'>Beware of floating point numbers</a> <br>
 
</div>


<div class='topic-section'>Would you use this technique?</div>
<div class='main-body'>
  
  <form action="http://www.javapractices.com/vote/AddVoteAction.do" method='post'>
    Yes<input type='radio' name='Choice' value='Y' >
    &nbsp;&nbsp;No<input type='radio' name='Choice' value='N'>
    &nbsp;&nbsp;Undecided<input type='radio' name='Choice' value="?" >
    &nbsp;&nbsp;<input type=submit value="Vote" >
    <input type='hidden' name='Operation' value='Apply'>
    <input type='hidden' name='TopicId' value='227'>
  </form>
</div>

<div style='height:10.0em;'></div>

 
 
</div>

  

 





<div align='center' class='legalese'>  
&copy; 2011 Hirondelle Systems |
<a href='../source/SourceAction-2.html'><b>Source Code</b></a><IMG class='no-margin' SRC="../images/goldstar.gif" ALT=""> |
<a href="mailto:webmaster@javapractices.com">Contact</a> |
<a href="http://creativecommons.org/licenses/by-nc-sa/1.0/">License</a> |
<a href='../apps/cjp.rss'>RSS</a>
<!-- ukey="2AC36CD2" -->
<!-- ckey="16DF3D87" -->
<br>

 Individual code snippets can be used under this <a href='../LICENSE.txt'>BSD license</a> - Last updated on June 6, 2010.<br>
 Over 150,000 unique IPs last month - <span title='Java Practices 2.6.5, Mon May 16 00:00:00 EDT 2011'>Built with</span> <a href='http://www.web4j.com/'>WEB4J</a>.<br>
 - In Memoriam : Bill Dirani -
</div>

<script src="../../www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2633428-1";
urchinTracker();
</script>



</body>

<!-- Mirrored from www.javapractices.com/topic/TopicAction.do;jsessionid=4FCCB481C702D708A7360133D128E359?Id=227 by HTTrack Website Copier/3.x [XR&CO'2010], Sun, 12 Jun 2011 17:27:50 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8"><!-- /Added by HTTrack -->
</html>
